package com.zhijian.warehouse.manage.entity.vo.request;

import com.zhijian.entity.PageVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * 仪器领用归记录 查询条件vo
 *
 * @author auto
 * @version 1.0
 * @date 2024-10-28 17:42:45
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Api(tags = "仪器领用归记录查询条件vo")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AccessProductRecordSearchVo extends PageVo implements Serializable {

    private static final long serialVersionUID = -1;

    private Long id;

    @ApiModelProperty("领用单号模糊查询字段")
    private String drawNumberDim;

    /**
     * 领用人id
     */
    @ApiModelProperty("领用人id")
    private Long drawUserId;

    @ApiModelProperty("领用人姓名")
    private String drawUserName;

    /**
     * 1= 领用 2 = 归还
     */
    @ApiModelProperty("1= 领用 2 = 归还")
    private Integer type;

    /**
     * 领用时间 yyyy-MM-dd
     */
    @ApiModelProperty("领用时间 yyyy-MM-dd HH:mm:ss")
    private String drawTime;

    /**
     * 归还人id
     */
    @ApiModelProperty("归还人id")
    private Long backUserId;

    /**
     * 归还时间 yyyy-MM-dd
     */
    @ApiModelProperty("归还时间 yyyy-MM-dd HH:mm:ss")
    private String backTime;

    @ApiModelProperty("领用天数 单位 天")
    private Integer drawDay;

    @ApiModelProperty("计划归还时间 yyyy-MM-dd HH:mm:ss")
    private String planBackTime;

    /**
     * 领用时间开始 yyyy-MM-dd
     */
    @ApiModelProperty("领用时间开始 yyyy-MM-dd HH:mm:ss")
    private String drawTimeStart;

    /**
     * 领用时间结束 yyyy-MM-dd
     */
    @ApiModelProperty("领用时间结束 yyyy-MM-dd HH:mm:ss")
    private String drawTimeEnd;

    /**
     * 领用归还时间范围查询
     */
    private String searchTime;


    private Long productId;

    /**
     * 出入库时间开始
     */
    @ApiModelProperty("出入库时间开始（审核时间开始）")
    private String startTimeStr;


    /**
     * 出入库时间结束
     */
    @ApiModelProperty("出入库时间结束（审核时间结束）")
    private String endTimeStr;

    /**
     * 领用时间结束 yyyy-MM-dd
     */
    @ApiModelProperty("产品名称")
    private String productNameDim;

    /**
     * 领用时间结束 yyyy-MM-dd
     */
    @ApiModelProperty("产品名称")
    private String productRfidDim;

    /**
     * 领用时间结束 yyyy-MM-dd
     */
    @ApiModelProperty("超期时间单位 天 例如: 1")
    private Integer overdueDay;
}
